home *** CD-ROM | disk | FTP | other *** search
/ L' Hygiene Au Quotidien / L'Hygiene Au Quotidien.iso / mac / Site / enfants / images / score.cgi < prev    next >
Text File  |  2003-07-25  |  2KB  |  77 lines

  1. #!/usr/local/bin/perl
  2. use CGI qw(:standard -no_debug);
  3.  
  4. $name=param("name");
  5. $score=param("score");
  6. $scored="";
  7.  
  8. # ON TESTE LE FICHIER S'IL EXISTE
  9. $file="scores.txt";
  10. if(-e $file){
  11. rename "scores.txt", "scores.bak";
  12.  
  13.     $toto = open(SCORES, "scores.bak");
  14.     $nbr=0;
  15.         while($line = <SCORES>){
  16.         chop $line;
  17.         chomp $line;
  18.                     
  19.         @list = split(/ /, $line);
  20.         push(@noms,$list[0]." ");
  21.         push(@scor,$list[1]." ");
  22.         ++$nbr;                    
  23.         }
  24.         
  25.         chomp @noms;
  26.         chomp @scor;
  27.         
  28.         close SCORES;
  29.         unlink "scores.bak";
  30.         
  31.         if($nbr >= 10){$nbr=10;}
  32.         open(SCORES,">scores.bak");
  33.         for($i=0;$i<$nbr;$i++){
  34.             
  35.             if($score == @scor[$i]){$scored="ok";}
  36.             
  37.             if(!$scored){
  38.                 if($score > @scor[$i]){
  39.                 print SCORES "$name ";
  40.                 print SCORES "$score\n";
  41.                 print SCORES "@noms[$i]";
  42.                 print SCORES "@scor[$i]\n";
  43.                 $scored="ok";
  44.                 }else{
  45.                 print SCORES "@noms[$i]";
  46.                 print SCORES "@scor[$i]\n";
  47.                 }
  48.                                             
  49.             }else{
  50.             print SCORES "@noms[$i]";
  51.             print SCORES "@scor[$i]\n";
  52.             }                    
  53.         }
  54.         --$i;
  55.         if(!$scored && $score>@scor[$i]){
  56.         print SCORES "$name ";
  57.         print SCORES "$score\n";
  58.         $scored="ok";
  59.         }
  60.         if(!$scored){
  61.         print SCORES "$name ";
  62.         print SCORES "$score\n";
  63.         }
  64.  
  65.         close SCORES;
  66.         rename "scores.bak", "scores.txt";
  67.         # TEST DE RESULTAT
  68.         #print"<br>";print @ noms;print"<br>";print @ scor;print"<br>";print"nombre de ligne : $nbr";print"<br>";
  69.  
  70. }else{ # ...SINON ON LE CREE
  71. open(SCORES,">scores.txt");
  72. print SCORES "$name $score\n";
  73. close SCORES;
  74. }    
  75.  
  76. # redirection vers la page de rΘsultats en adresse fixe
  77. print redirect"http://localhost/resultats.html";